package com.ruoyi.business.domain.vo.user;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

@Data
@ApiModel(value = "用户信息对象")
public class UserInfoVO implements Serializable {
    private static final long serialVersionUID = 1L;

    /** id */
    private Long id;

    /** 用户唯一id */
    @ApiModelProperty(value = "用户id")
    private String userId;

    /** 微信openid */
    @ApiModelProperty(value = "微信openid")
    private String openId;

    /** 社区id */
    @ApiModelProperty(value = "社区id")
    private String deptId;

    @ApiModelProperty(value = "社区名称")
    private String deptName;

    /** 用户昵称 */
    @ApiModelProperty(value = "用户昵称")
    private String nickname;

    /** 微信头像链接 */
    @ApiModelProperty(value = "微信头像链接")
    private String wechatAvatar;

    /** 微信union_id */
    @ApiModelProperty(value = "微信union_id")
    private String unionId;

    /** 用户地址 */
    @ApiModelProperty(value = "用户地址")
    private String address;

    @ApiModelProperty(value = "用户类型")
    private String userType;

    /** 用户真实姓名 */
    @ApiModelProperty(value = "用户真实姓名")
    private String userName;

    /** 用户性别（M: 男, F: 女） */
    @ApiModelProperty(value = "用户性别")
    private String gender;

    /** 用户年龄 */
    @ApiModelProperty(value = "用户年龄")
    private Long age;

    /** 身份证号码 */
    @ApiModelProperty(value = "身份证号码")
    private String idCardNumber;

    /** 用户出生日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @ApiModelProperty(value = "用户出生日期")
    private Date birthDate;

    /** 用户电话号码 */
    @ApiModelProperty(value = "用户电话号码")
    private String phoneNumber;

    /** 用户身高（单位：cm） */
    @ApiModelProperty(value = "用户身高")
    private BigDecimal height;

    /** 用户体重（单位：kg） */
    @ApiModelProperty(value = "用户体重")
    private BigDecimal weight;


    /** 用户身份验证token */
    @ApiModelProperty(value = "token")
    private String token;


    /** 校验type 1 登录成功 2: 跳转多社区切换  3: 调整补全信息"*/
    @ApiModelProperty(value = "verifyType")
    private String verifyType;


    /** 籍贯 */
    @ApiModelProperty(value = "籍贯")
    private String nativePlace;

    /** 民族 */
    @ApiModelProperty(value = "民族")
    private String nation;
}
